package com.glink.manage.vo.menu;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.glink.common.serializer.JsonDateDeSerializer;
import com.glink.common.serializer.JsonDateSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MenuInfoVO {

    @ApiModelProperty(value = "菜单ID")
    private String menuId;

    @ApiModelProperty(value = "菜单名")
    private String menuName;

    @ApiModelProperty(value = "菜单路径")
    private String uri;

    @ApiModelProperty(value = "上一级菜单id")
    private String pid;

    @ApiModelProperty(value = "资源类型:(字典MenuResourceType):01-菜单,02-按钮,03-页面快捷方式,04-首页小面板")
    private String type;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "键值标识")
    private String key;

    @ApiModelProperty(value = "资源排序索引")
    private int idx;

    @ApiModelProperty(value = "是否启用菜单,默认不启用,0-不启用,1-启用")
    private String isEnable;

    @ApiModelProperty(value = "是否在新页面打开,默认不打开,0-不打开,1-打开")
    private String isPage;

    @ApiModelProperty(value = "导航栏位置(0=无;1=顶部;2=左侧)")
    private String isPlace = "2";

    @ApiModelProperty(value = "是否存在功能点,0-否,1-是")
    private String isChildren;
    
    @ApiModelProperty(value = "创建日期")
    @JsonSerialize(using = JsonDateSerializer.class)
    @JsonDeserialize(using = JsonDateDeSerializer.class)
    private Date createTime;

    @ApiModelProperty(value = "更新日期")
    @JsonSerialize(using = JsonDateSerializer.class)
    @JsonDeserialize(using = JsonDateDeSerializer.class)
    private Date updateTime;
}
